package com.cruising.backend.service;

import com.cruising.backend.entity.Reports;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cruising.backend.entity.vo.PageVO;
import com.cruising.backend.entity.vo.ReportDetailVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author yezi
 * @since 2025-04-21
 */
public interface ReportsService extends IService<Reports> {

    PageVO<Reports> getReports(Integer pageNum, Integer pageSize, String searchText, String startDate, String endDate, String sortType, String types, String labels, String role);
    
    // 获取举报列表数据（用于导出）
    List<Reports> getReportsList(String searchText, String startDate, String endDate, String sortType, String types, String labels, String role);
    
    // 根据ID获取举报详情及相关文件
    ReportDetailVO getReportDetailById(Integer reportId);
    
    // 保存举报信息和相关文件
    void saveReportWithFiles(Reports report, MultipartFile[] images, MultipartFile[] videos, MultipartFile[] otherFiles) throws Exception;
}
